# -*- coding: utf-8 -*-



"""
目标网站: https://fabiaoqing.com/biaoqing
需求: 爬取前两页的图片，保存到本地，图片命名要以网页的图片标题命名

1. 先获取第一页的图片
2. 分析url所在的数据包位置

https://fabiaoqing.com/biaoqing
请求方式： get方法

3. 先获取所有的img标签， 循环遍历
4. 依次去获取链接属性以及标题  # 懒加载

链接: data-original
标题: alt
"""
import re

import requests
from lxml import etree
import time

# 定义下载图片的函数
def download_url():
    for page in range(1, 3):
        url = f'https://fabiaoqing.com/biaoqing/lists/page/{page}.html'
        # 发请求，获取响应
        res = requests.get(url)
        # 打印响应内容
        # print(res.text)
        # 解析数据
        html = etree.HTML(res.text)
        # 采用xpath解析数据  获取所有的img标签
        imag = html.xpath('//img[@class="ui image lazy"]')
        # print(len(imag))  # 确定所有的元素 已经拿到了
        for img in imag:
            # 获取图片的标题以及图片url
            img_title = img.xpath('@alt')[0]
            img_title = re.sub(r'[*/\\ :.?]', '', img_title)
            img_url = img.xpath('@data-original')[0]
            # 提取图片的后缀名
            hzm = img_url.split('.')[-1]
            print(img_title, hzm)
            # 如果图片链接没问题但是没有保存图片的话 就要利用referer参数
            # 利用referer进行反爬
            head = {
                'referer':'https://fabiaoqing.com/biaoqing'
            }
            # 向图片链接发请求，得到响应
            res1 = requests.get(img_url, headers=head)
            # 保存图片  动态图: gif  静态图: jpg,png
            with open(f'images/{img_title}.{hzm}', 'wb')as f:
                f.write(res1.content)
            print(f'{img_title}下载成功')

start = time.time()
download_url()
end = time.time()
print(f'程序运行所花费的时间{end - start}')
# 程序运行所花费的时间26.717281818389893

"""
https://fabiaoqing.com/biaoqing
https://fabiaoqing.com/biaoqing/lists/page/1.html
"""

a,b,c,d = (1,2,3,4)

print(a,b,c,d)

